This invention relates to object-oriented knowledge base systems.
Smart explanation and commentary on the technical term xe2x80x98knowledge basexe2x80x99 is given in {circle around (∘)}xe2x80x9cJoho Sisutemu Handobukkuxe2x80x9d (In Japanese). It is summarized as follows:
Roughly speaking, a knowledge base is an integrated items of knowledge (expert knowledge and/or empirical knowledge, etc.) of real world (usually of a restricted domain of the real world) which are usually stored in computer systems and are described in a form readily used for the purpose of, say, inference.
Items of knowledge in a knowledge base can be roughly classified into xe2x80x98factsxe2x80x99 and xe2x80x98rulesxe2x80x99. For example, the knowledge that xe2x80x9cA crow is a birdxe2x80x9d is an example of a xe2x80x98factxe2x80x99, and the knowledge that xe2x80x9cAny bird flies in the airxe2x80x9d (i.e. the knowledge that xe2x80x9cNo matter what a creature may be, the creature flies in the air if the creature is a bird.xe2x80x9d) is an example of a xe2x80x98rulexe2x80x99. If an xe2x80x98inferencexe2x80x99 is carried out on the bases of these two items of knowledge, the answer to the question, for example xe2x80x9cDose a crow fly?xe2x80x9d can be answered, if a perfect knowledge base system whose ability matches human ability of thought would exist and are used. A portion carrying out such inferences like this is usually called xe2x80x98inference mechanismxe2x80x99.
Usually, the main purpose to construct a knowledge base is to give solutions to varieties of problems by using the knowledge base in combination with an inference mechanism. If a very universal inference mechanism exists, then, procedures for solving problems have not necessarily be explicitly described as computer programs; That is, if a knowledge base system has a very universal inference mechanism, then a user of the knowledge base system can solve problems only by representing the necessary items of knowledge according to the style of representation of the knowledge base. Therefore, if so, the user may not necessarily be skillful at coding computer programs.
An important issue to be discussed when a knowledge base is constructed, is the way of xe2x80x98knowledge representationxe2x80x99. As ideal merits that a good xe2x80x98knowledge representationsxe2x80x99 should have, for examples,
1) Having high power of expression and being able to describe varieties of things and matters in a systematic manner.
2) Having high readability and being easily understood by human.
3) Having high degree of modularity and being highly flexible to the renewal of items of knowledge stored in the knowledge base.
4) With which, being able to implement (=embody) high performance processing systems.
Four types of methods for knowledge representation are broadly known:
1) Predicate logic.
2) Production rule.
3) Semantic network.
4) Frame.
The xe2x80x98semantic networkxe2x80x99 model is originally introduced to describe human memory and ability of association in the field of cognitive psychology (see for example {circle around (∘)}xe2x80x9cGurafikku Ninchi shinrigakuxe2x80x9d p.86), but is frequently used also in the field of artificial intelligence: (see for example, {circle around (∘)}xe2x80x9cThe CLASSIC Knowledge Representation System or, KL-ONExe2x80x9d).
The KL-ONE is one of the most famous knowledge representation systems. The KL-ONE""s root is in xe2x80x98semantic networkxe2x80x99, but KL-ONE is influenced in part by xe2x80x98Framexe2x80x99. The CLASSIC Knowledge Representation system is a new generation of KL-ONE-like systems ({circle around (∘)}xe2x80x9cThe CLASSIC Knowledge Representation System or, KL-ONExe2x80x9d). The KL-ONE and its descendants are one of the most long-lived knowledge representation systems, and its research has lasted over two decades at least up to today. For more details, see for example, recent US Patents
{circle around (∘)}xe2x80x9cU.S. Pat. No. 5,974,405 Oct. 26, 1999 Knowledge base management system with enhanced explanation of derived information and error objectsxe2x80x9d, and,
{circle around (∘)}xe2x80x9cU.S. Pat. No. 5,659,724 Aug. 19, 1997 Interactive data analysis apparatus employing a knowledge basexe2x80x9d.
As the fifth type of method for knowledge representation,
5)xe2x80x98Object-oriented knowledge basexe2x80x99
is known.
The original idea xe2x80x98Objectxe2x80x99 was first introduced when a computer language xe2x80x98Simula67xe2x80x99 was designed. The Simula67 got extremely high reputation as a computer simulation system (Chapter 2 of {circle around (∘)}xe2x80x9cMODELLING the WORLD with OBJECTSxe2x80x9d). Thus, the original idea, xe2x80x98Objectxe2x80x99 was born primary as a concept of programming language (i.e. Simula67) rather than as a method only for knowledge representation ({circle around (∘)}xe2x80x9cChishiki no hyo-gen to kousoku suironxe2x80x9d, p.11).
The term xe2x80x98object-oriented programming languagexe2x80x99 is a general and somewhat vaguely used term, and in many cases represents a programming language supporting the way to implement (=embody) an xe2x80x98objectxe2x80x99, which is usually represented in a source code of a computer program as an integrated unit composed of algorithms and data ({circle around (∘)}xe2x80x9cJoho Sisutemu Handobukkuxe2x80x9d p.4-202). The SIMULA67 is of course an object-oriented programming language. Smalltalk and C++ are also object-oriented programming languages. Usually, each of xe2x80x9cgraphical objectsxe2x80x9d in a GUI (Graphical User Interfaces) of computers, such as icons, windows, dialog boxes, Mouse cursors etc. are usually implemented by using object oriented languages. In such cases, above mentioned type of an integrated unit composed of algorithms and data defined in the source code of the object oriented software supporting the GUI, is usually used to embody a xe2x80x9cgraphical objectxe2x80x9d.
Some persons believe in that object-oriented representation is just suitable to be used not only as a method to implement xe2x80x9cgraphical objectsxe2x80x9d in a GUI, but also as a method of knowledge representations in a knowledge base system ({circle around (∘)}xe2x80x9cMODELLING the WORLD with OBJECTSxe2x80x9d Chapter 12). It is highly desirable today to propose varieties of types of object-oriented knowledge base systems of practical use until the ultimate and perfect solution is got.
As a matter of fact, some pioneering and challenging work to construct object-oriented knowledge base systems have been done, including, O-logic, ({circle around (∘)}xe2x80x9cA Logic for Object-Oriented Logic Programming (Maier""s O-Logic: Revisited)xe2x80x9d, and, Transaction Logic ({circle around (∘)}xe2x80x9cTransaction Logic Programming (or, a Logic of Procedural and Declarative Knowledgexe2x80x9d), and, Quixote({circle around (∘)}xe2x80x9cSpecific Features of a Deductive Object-Oriented Database Language Quixotexe2x80x9d). Knowledge representations used in these knowledge base systems are very precise and are extremely mathematical.
However, these object-oriented knowledge base system is not so popular when compared with other software systems, say, xe2x80x98(copyright)MS-DOSxe2x80x99, xe2x80x98(copyright)Windows 95xe2x80x99, xe2x80x98(copyright)Officexe2x80x99 (presented by Microsoft). It is highly desirable to give object-oriented knowledge base systems with facts and rules having high readability and being easily understood by human to present a knowledge base system of very wide and popular use. One of the final purposes to be attained in developing an ultimate object-oriented knowledge base system is to give
a knowledge base system in which
a flexible, systematic, exact, exhaustive, and user-friendly way of xe2x80x98knowledge representationxe2x80x99 which covers not only what can be described mathematically but also covers what can be described linguistically, and,
a mighty xe2x80x98inference mechanismxe2x80x99 for inference widely applicable to wide varieties of sentences in the xe2x80x98knowledge representationxe2x80x99, coexist.
A useful object-oriented knowledge base system is provided, which comprises an xe2x80x98object-oriented knowledge basexe2x80x99, an inference mechanism, and an xe2x80x98object-oriented knowledge base management systemxe2x80x99. In the knowledge base, simple English sentences are used as a rule and/or as a fact. An xe2x80x98ideal dictionaryxe2x80x99 exists in the xe2x80x98object-oriented knowledge base management systemxe2x80x99, wherein an object-oriented-lexical-definition of nouns is given, and dichotomy in combination with c-language-like way of description of English sentences is used to give a lexical definition of a verb. The xe2x80x98ideal dictionaryxe2x80x99 is used as a basis on which an xe2x80x98ideal thesaurusxe2x80x99 and an ideal xe2x80x98classification tablexe2x80x99, in the xe2x80x98object-oriented knowledge basexe2x80x99, are constructed. The inference mechanism, which is based on a specially contrived xe2x80x98object-oriented categorical syllogismxe2x80x99, processes not only mathematical equations but also simple English sentences, by making full use of a thesaurus and a classification table.
Accordingly, several objects and advantages of my invention are:
(a) My invention provides a way to describe facts and rules using a sentence having high readability and flexibility and being easily understood by human, because such a sentence is usually described in a linguistic style on the basis of simple grammar.
(b) My invention provides a way to construct a hierarchical structure of nouns-system in a xe2x80x98thesaurusxe2x80x99, on the basis of special kind of xe2x80x98object-oriented-lexical-definition of nounsxe2x80x99 recorded in an xe2x80x98ideal dictionaryxe2x80x99 of the knowledge base. Lexical definition of a verb is also given in an xe2x80x98ideal dictionaryxe2x80x99 of the knowledge base. Lexical definition of a verb whose meaning is specific is derived from that of a verb whose meaning is general and universal, by specialization of the meaning by using xe2x80x98dichotomyxe2x80x99 and/or by using C-language-like way of linguistic description of sentences in the lexicon. A hierarchical structure of verbs-system is constructed in a xe2x80x98classification tablexe2x80x99 on the basis of this lexical definition of verbs.
(c) My invention provides exact and systematic xe2x80x98knowledge representationxe2x80x99 if
only the nouns and the verbs that are explicitly defined in an xe2x80x98ideal dictionaryxe2x80x99 and are registered in a thesaurus and/or in a classification table are used
in the sentences used for xe2x80x98knowledge representationxe2x80x99.
(e) My invention provides exhaustive power of description of the target to be modeled, on the basis of the present xe2x80x98knowledge representationxe2x80x99, because the power of description not only covers a mathematically well-defined equation, a law of Physics, and a subroutine of a computer program, but also covers a sentences that are described linguistically as a special kind of xe2x80x98functionxe2x80x99. In the description of the target to be modeled is essentially linguistic, in which many varieties of verbs and nouns as well as mathematical symbols including xe2x80x98=xe2x80x99, xe2x80x98xc3x97xe2x80x99, xe2x80x98÷xe2x80x99, etc. are flexibly used in a systematic manner.
(f) My invention provides an versatile inference mechanism, which can deal with not only mathematically well defined equations, laws of Physics, mathematical lemma, and subroutines of computer programs, but also varieties of linguistic sentences using many varieties of verbs by making full use of a xe2x80x98thesaurusxe2x80x99 and a xe2x80x98classification tablexe2x80x99, on the basis of specially contrived xe2x80x98object-oriented categorical syllogismxe2x80x99. My invention provides precise inference mechanism on the basis of linguistics, if xe2x80x98subject-word (S)xe2x80x99, xe2x80x98verb (V)xe2x80x99, xe2x80x98complement-word (C)xe2x80x99, xe2x80x98object-word (O)xe2x80x99, xe2x80x98indirect-object-word (I.O)xe2x80x99, and/or xe2x80x98direct-object-word (D.O)xe2x80x99, are precisely and explicitly indicated in a sentence used as a xe2x80x98rulexe2x80x99 and/or as a xe2x80x98factxe2x80x99 in the present object-oriented knowledge base system.
Other objects and advantages are that my invention provides
a means for storing data providing the ability of association,
which are used as the main basis on which
xe2x80x9cmeans for making a list of xe2x80x98descriptorsxe2x80x99 ranked in order of hit frequencyxe2x80x9d and/or
xe2x80x9cmeans for making a list of xe2x80x98names-of-classification-itemsxe2x80x99 ranked in order of hit frequencyxe2x80x9d
are carried out. These means help a user of the object-oriented database system to find descriptors and/or to find names-of-classification-items to be used to make a query.
Other objects and advantages are that my invention provides a means to prevent a combinatorial explosion during carrying out said means for carrying out a inference, by using not only
xe2x80x98means for narrowing down the target xe2x80x98descriptorsxe2x80x99xe2x80x99 and xe2x80x98means for narrowing down the target xe2x80x98names-of-classification-itemsxe2x80x99xe2x80x99, for making a precise retrieval,
but also
xe2x80x98means for fusing propositionsxe2x80x99, in which many numbers of propositions are summarized into a sentence by making use of hierarchical structures of nouns and verbs, making some sacrifice of strictness for preventing the puncture of the processing capacity of the computer system.
Other objects and advantages are that my invention provides a means for making more exhaustive retrieval, by using xe2x80x98means for broadening out the target xe2x80x98descriptorsxe2x80x99xe2x80x99 and/or by using xe2x80x98means for means for broadening out the target xe2x80x98names-of-classification-itemsxe2x80x99xe2x80x99.
Further objects and advantages of my invention will become apparent from a consideration of the drawings and ensuing description.